Mobile communication devices may include a variety of components including circuit boards, integrated circuit (IC) devices and/or System-on-Chip (SoC) devices. The components may include processing circuits, user interface components, storage and other peripheral components that communicate through a serial bus. The serial bus may be operated in accordance with a standardized or proprietary protocol.
For example, the Inter-Integrated Circuit serial bus, which may also be referred to as the I2C bus or the I2C bus, is a serial single-ended computer bus that was intended for use in connecting low-speed peripherals to a processor. In some examples, a serial bus may employ a multi-master protocol in which one or more devices can serve as a master and a slave for different messages transmitted on the serial bus. Data can be serialized and transmitted over two bidirectional wires, which may carry a data signal, which may be carried on a Serial Data Line (SDA), and a clock signal, which may be carried on a Serial Clock Line (SCL).
In one example, the protocols used on an I3C bus derive certain implementation aspects from the I2C protocol, while improving throughput and control of the serial bus. Original implementations of I2C supported data signaling rates of up to 100 kilobits per second (100 kbps) in standard-mode operation, with more recent standards supporting speeds of 400 kbps in fast-mode operation, and 1 megabit per second (Mbps) in fast-mode plus operation. The I3C protocol can increase available bandwidth on the serial bus through higher transmitter clock rates, use of double data rate encoding, encoding data in signaling state of two or more wires, and through other encoding techniques. In conventional systems, devices coupled to a serial bus may support out-of-band signaling, such as interrupt signals sent by a slave device using dedicated signal wires or traces. Dedicated interrupt signal wires are increasingly unavailable to designers as functionality of mobile communication devices escalate. In-band interrupt capabilities have been introduced to permit one device to interrupt another device. When multiple devices assert an interrupt concurrently, lower-priority devices may fail to obtain service from the interrupted device. Improvements are continually needed to improve data throughput, reduce latency and improve control signaling.